.TH std::this_thread::sleep_for 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::this_thread::sleep_for \- std::this_thread::sleep_for

.SH Synopsis
   Defined in header <thread>
   template< class Rep, class Period >
   void sleep_for( const std::chrono::duration<Rep, Period>&              \fI(since C++11)\fP
   sleep_duration );

   Blocks the execution of the current thread for at least the specified
   sleep_duration.

   This function may block for longer than sleep_duration due to scheduling or resource
   contention delays.

   The standard recommends that a steady clock is used to measure the duration. If an
   implementation uses a system clock instead, the wait time may also be sensitive to
   clock adjustments.

.SH Parameters

   sleep_duration - time duration to sleep

.SH Return value

   \fI(none)\fP

.SH Exceptions

   Any exception thrown by clock, time_point, or duration during the execution (clocks,
   time points, and durations provided by the standard library never throw).

.SH Example


// Run this code

 #include <chrono>
 #include <iostream>
 #include <thread>

 int main()
 {
     using namespace std::chrono_literals;

     std::cout << "Hello waiter\\n" << std::flush;

     const auto start = std::chrono::high_resolution_clock::now();
     std::this_thread::sleep_for(2000ms);
     const auto end = std::chrono::high_resolution_clock::now();
     const std::chrono::duration<double, std::milli> elapsed = end - start;

     std::cout << "Waited " << elapsed << '\\n';
 }

.SH Possible output:

 Hello waiter
 Waited 2000.13 ms

.SH See also

   sleep_until stops the execution of the current thread until a specified time point
   \fI(C++11)\fP     \fI(function)\fP
